import numpy as np

from Course1.W4A1.testCases import print_grads

# 创建两个矩阵
# A 是 3行4列 代表 训练数据为3个参数,共4条数据
# B 为 1行3列 代表每个参数的权重
# C 为 1行4列 代表所有实际值
A = np.array([[1,2,3],[2,2,2],[3,2,2],[2,4,6]])
B = np.array([[0],[0],[0]])
C = np.array([[1],[2],[2],[4]])

# D为A矩阵与B矩阵点击点积，结果应为1行4列代表预估值
D = np.dot(A, B)
print(A.shape,B.shape,D.shape)
# E 为 4 条数据的 差值
E = D - C
print(E.shape)
# F 应为1行3列
print("\n矩阵A:")
print(A)
print("\n矩阵E:")
print(E)

F = A.T @ E
print(F.shape)

# E 为 3列1行

# print("\n矩阵B:")
# print(B)
# print("\n矩阵A和B的点积结果C:")
# print(C)
# C = np.repeat(C,3,1)
# print("\n沿X轴重复3次,倒置,C:")
# print(C.T)
#
# print("\n矩阵D:")
# print(D)



